﻿package com.sms.monitor.ui.activity;

import java.lang.reflect.Method;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.sms.monitor.R;
import com.sms.monitor.constant.Constant;
import com.sms.monitor.server.SMSServer;
import com.sms.monitor.utils.SharedPreferencesUtil;
import com.sms.monitor.utils.ULog;

/**
 * 配置界面，用于配置短信拦截号码，及及关键字列表。
 * 
 * @author dongfang
 * 
 */
public class ConfigurationActivity extends Activity implements OnClickListener {
    private Button mPhoneSetting;
    private Button mKeywordSetting;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //
        super.onCreate(savedInstanceState);
        setContentView(R.layout.configration_layout);
        findViews();
        init();

        /** 打开应用，服务自动启动 */
        startService(new Intent(this, SMSServer.class));
        
//        Method[] methods = this.getClass().getMethods();
//        for(Method method : methods){
//            ULog.d(method.toGenericString());
//        }
        
    }

    /**
     * 初始化配置列表控件
     */
    private void findViews() {
        //
        mPhoneSetting = (Button) findViewById(R.id.btn_phone_setting);
        mKeywordSetting = (Button) findViewById(R.id.btn_keyword_setting);
    }

    /**
     * 初始化点击监听事件。
     */
    private void init() {
        // 用户未设置时，从配置文件初始化。
        String phones = SharedPreferencesUtil.getValue(this, Constant.KEY_SMS_SPF_PHONE);
        String keywords = SharedPreferencesUtil.getValue(this, Constant.KEY_SMS_SPF_KEYWORD);
        // 初始变量,用于判断用户是否第一次启动应用.
        boolean isFirstTime = SharedPreferencesUtil.getBooleanValue(this, Constant.KEY_OPEN_FIRST);
        if (TextUtils.isEmpty(keywords) && isFirstTime) {
            SharedPreferencesUtil.putValue(this, Constant.KEY_SMS_SPF_KEYWORD, getString(R.string.keyword_init));
        }
        if (TextUtils.isEmpty(phones) && isFirstTime) {
            SharedPreferencesUtil.putValue(this, Constant.KEY_SMS_SPF_PHONE, getString(R.string.phone_init));
        }
        SharedPreferencesUtil.putBooleanValue(this, Constant.KEY_OPEN_FIRST, false);
        mPhoneSetting.setOnClickListener(this);
        mKeywordSetting.setOnClickListener(this);

        // new MyContentObserver(new Handler(), ConfigurationActivity.this).getSMS();
    }

    /**
     * 处理点击事件
     */
    @Override
    public void onClick(View v) {
        //
        switch (v.getId()) {
        // 拦截号码列表
        case R.id.btn_phone_setting:
            startActivity(new Intent(this, PhoneSettingActivity.class));

            break;
        // 关键字列表。
        case R.id.btn_keyword_setting:
            startActivity(new Intent(this, KeywordSettingActivity.class));
            break;

        default:
            break;
        }
    }
}
